package com.sztx.pay.center.rpc.api.domain;

import java.io.Serializable;

/**
 * 
 * 交易类请求的基础请求参数
 * 
 * @author  xiaosc
 * @version  [版本号, 2016-1-11]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 */

@SuppressWarnings("serial")
public class TradeBaseRequest implements Serializable {

	/** 
	 * 业务系统订单号
	 * <br>是否必输: T
	 * */
	protected String orderId;

	/** 
	 * 备注
	 * <br>是否必输: N
	 * */
	protected String attach;
	
	/** 
	 * 来源ip
	 * <br>是否必输: Y
	 * */
	protected String srcIp;	
	
	/** 
	 * 来源渠道  1 网站  2微信  3手机 
	 * <br>是否必输: Y
	 * */
	protected String srcChannel;
	
	/** 
	 * 前端跳转url
	 * <br>是否必输: N
	 * */
	protected String returnUrl;	
	
	/**
	 *  后台通知url
	 *  <br>是否必输: N
	 *  */
	protected String notifyUrl;
	
	/** 
	 * 下单时间（格式yyyyMMddHHmmss）
	 * <br>是否必输: Y
	 * */
	protected String orderTime;
	
	/** 
	 * 订单超时时间（yyyyMMddHHmmss）【暂不支持】
	 * <br>是否必输: N
	 * */
	protected String expireTime;	
	
	/** 
	 * 签名类型（MD5）
	 * <br>是否必输: Y
	 * */
	protected String signType;
	
	/** 
	 * 验签值
	 * <br>是否必输: Y
	 * */	
	protected String sign;
	/**
	 * 是否使用免密支付: N   1 使用免密支付
	 */
	protected String isUsePwd;
	
	/**
	 * 反扫支付授权码
	 */
	protected String authCode;
	
	/**
	 * 微信openid
	 */
	protected String openId;	
	
	 /**
     * 支付指定特定的渠道
     */
    private String gateWayChannelId;
    /**
     * 支付指定特定的路由
     */
    private String routeNo;
    
    /**
	 * 客户端来源类型
	 * <br>是否必输: N
	 * 1：C端App以及C端自动打包APP，2：定制App，3：倍棒小店，4：微信端，5：PC收银台，6：PC商家管理后台，7：缴费商
	 */
    private String clientSourceType;
	
	public String getClientSourceType() {
		return clientSourceType;
	}
	public void setClientSourceType(String clientSourceType) {
		this.clientSourceType = clientSourceType;
	}
	public String getGateWayChannelId() {
		return gateWayChannelId;
	}
	public void setGateWayChannelId(String gateWayChannelId) {
		this.gateWayChannelId = gateWayChannelId;
	}
	public String getRouteNo() {
		return routeNo;
	}
	public void setRouteNo(String routeNo) {
		this.routeNo = routeNo;
	}
	
	

	public String getOpenId() {
		return openId;
	}

	public void setOpenId(String openId) {
		this.openId = openId;
	}

	public String getOrderId() {
		return orderId;
	}

	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}

	public String getAttach() {
		return attach;
	}

	public void setAttach(String attach) {
		this.attach = attach;
	}



	public String getSrcIp() {
		return srcIp;
	}

	public void setSrcIp(String srcIp) {
		this.srcIp = srcIp;
	}

	public String getSrcChannel() {
		return srcChannel;
	}

	public void setSrcChannel(String srcChannel) {
		this.srcChannel = srcChannel;
	}

	public String getReturnUrl() {
		return returnUrl;
	}

	public void setReturnUrl(String returnUrl) {
		this.returnUrl = returnUrl;
	}

	public String getNotifyUrl() {
		return notifyUrl;
	}

	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}

	public String getOrderTime() {
		return orderTime;
	}

	public void setOrderTime(String orderTime) {
		this.orderTime = orderTime;
	}

	public String getExpireTime() {
		return expireTime;
	}

	public void setExpireTime(String expireTime) {
		this.expireTime = expireTime;
	}

	public String getSignType() {
		return signType;
	}

	public void setSignType(String signType) {
		this.signType = signType;
	}

	public String getSign() {
		return sign;
	}

	public void setSign(String sign) {
		this.sign = sign;
	}

	public String getIsUsePwd() {
		return isUsePwd;
	}

	public void setIsUsePwd(String isUsePwd) {
		this.isUsePwd = isUsePwd;
	}

	public String getAuthCode() {
		return authCode;
	}

	public void setAuthCode(String authCode) {
		this.authCode = authCode;
	}
	
	
	
}
